<!-- HTML header for doxygen 1.8.18-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.18"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Ipopt: src/LinAlg/IpSymScaledMatrix.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="stylesheet.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 40px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Ipopt Documentation
   &#160;<!--span id="projectnumber">3.14.12</span-->
   </div>
  </td>
   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
</td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.18 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('IpSymScaledMatrix_8hpp_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">IpSymScaledMatrix.hpp</div>  </div>
</div><!--header-->
<div class="contents">
<a href="IpSymScaledMatrix_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Copyright (C) 2004, 2008 International Business Machines and others.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// All Rights Reserved.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// This code is published under the Eclipse Public License.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// Authors:  Carl Laird, Andreas Waechter     IBM    2004-08-13</span></div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160; </div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor">#ifndef __IPSYMSCALEDMATRIX_HPP__</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#define __IPSYMSCALEDMATRIX_HPP__</span></div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160; </div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="IpUtils_8hpp.html">IpUtils.hpp</a>&quot;</span></div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="IpSymMatrix_8hpp.html">IpSymMatrix.hpp</a>&quot;</span></div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160; </div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceIpopt.html">Ipopt</a></div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;{</div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160; </div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">/* forward declarations */</span></div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="keyword">class </span>SymScaledMatrixSpace;</div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160; </div>
<div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href="classIpopt_1_1SymScaledMatrix.html">   26</a></span>&#160;<span class="keyword">class </span><a class="code" href="config__default_8h.html#a58bb5c104ee5ff44b7175fc992d89b0b">IPOPTLIB_EXPORT</a> <a class="code" href="classIpopt_1_1SymScaledMatrix.html">SymScaledMatrix</a>: <span class="keyword">public</span> <a class="code" href="classIpopt_1_1SymMatrix.html">SymMatrix</a></div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;{</div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160; </div>
<div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="classIpopt_1_1SymScaledMatrix.html#aa3c9d004357802c8e693495b6b9c13b4">   33</a></span>&#160;   <a class="code" href="classIpopt_1_1SymScaledMatrix.html#aa3c9d004357802c8e693495b6b9c13b4">SymScaledMatrix</a>(</div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;      <span class="keyword">const</span> <a class="code" href="classIpopt_1_1SymScaledMatrixSpace.html">SymScaledMatrixSpace</a>* owner_space</div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;   );</div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160; </div>
<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="classIpopt_1_1SymScaledMatrix.html#ae43b6450689e70778ae1fdf6597da9b8">   38</a></span>&#160;   <a class="code" href="classIpopt_1_1SymScaledMatrix.html#ae43b6450689e70778ae1fdf6597da9b8">~SymScaledMatrix</a>();</div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160; </div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;   <span class="keywordtype">void</span> SetUnscaledMatrix(</div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;      <span class="keyword">const</span> <a class="code" href="classIpopt_1_1SmartPtr.html">SmartPtr&lt;const SymMatrix&gt;</a> unscaled_matrix</div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;   );</div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160; </div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;   <span class="keywordtype">void</span> SetUnscaledMatrixNonConst(</div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;      <span class="keyword">const</span> <a class="code" href="classIpopt_1_1SmartPtr.html">SmartPtr&lt;SymMatrix&gt;</a>&amp; unscaled_matrix</div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;   );</div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160; </div>
<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;   <a class="code" href="classIpopt_1_1SmartPtr.html">SmartPtr&lt;const SymMatrix&gt;</a> GetUnscaledMatrix() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160; </div>
<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;   <a class="code" href="classIpopt_1_1SmartPtr.html">SmartPtr&lt;SymMatrix&gt;</a> GetUnscaledMatrixNonConst();</div>
<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160; </div>
<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;   <a class="code" href="classIpopt_1_1SmartPtr.html">SmartPtr&lt;const Vector&gt;</a> RowColScaling() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160; </div>
<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;   <span class="keyword">virtual</span> <span class="keywordtype">void</span> MultVectorImpl(</div>
<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;      <a class="code" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>        alpha,</div>
<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;      <span class="keyword">const</span> <a class="code" href="classIpopt_1_1Vector.html">Vector</a>&amp; x,</div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;      <a class="code" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>        beta,</div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;      <a class="code" href="classIpopt_1_1Vector.html">Vector</a>&amp;       y</div>
<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;   ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160; </div>
<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="classIpopt_1_1SymScaledMatrix.html#aec3aaa5cebe937572a31cfab8a386c71">   70</a></span>&#160;   <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classIpopt_1_1SymScaledMatrix.html#aec3aaa5cebe937572a31cfab8a386c71">HasValidNumbersImpl</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160; </div>
<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="classIpopt_1_1SymScaledMatrix.html#a762d28e3cb0eabe80ccd8e3c1a90825b">   72</a></span>&#160;   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classIpopt_1_1SymScaledMatrix.html#a762d28e3cb0eabe80ccd8e3c1a90825b">ComputeRowAMaxImpl</a>(</div>
<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;      <a class="code" href="classIpopt_1_1Vector.html">Vector</a>&amp; rows_norms,</div>
<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;      <span class="keywordtype">bool</span>    init</div>
<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;   ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160; </div>
<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="classIpopt_1_1SymScaledMatrix.html#a8f4a80c0f58878fd39ede1640e2e7e01">   77</a></span>&#160;   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classIpopt_1_1SymScaledMatrix.html#a8f4a80c0f58878fd39ede1640e2e7e01">PrintImpl</a>(</div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;      <span class="keyword">const</span> <a class="code" href="classIpopt_1_1Journalist.html">Journalist</a>&amp;  jnlst,</div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;      <a class="code" href="namespaceIpopt.html#a9a3bf04074c3113604067ee277e690ea">EJournalLevel</a>      level,</div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;      <a class="code" href="namespaceIpopt.html#a6cd36af5585112f521733f3e63fd8cb0">EJournalCategory</a>   category,</div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;      <span class="keyword">const</span> std::string&amp; name,</div>
<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;      <a class="code" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a>              indent,</div>
<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;      <span class="keyword">const</span> std::string&amp; prefix</div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;   ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160; </div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160; </div>
<div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="classIpopt_1_1SymScaledMatrix.html#a5f287285ded48df69e395da6ddd56d4c">   98</a></span>&#160;   <a class="code" href="classIpopt_1_1SymScaledMatrix.html#a5f287285ded48df69e395da6ddd56d4c">SymScaledMatrix</a>();</div>
<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160; </div>
<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="classIpopt_1_1SymScaledMatrix.html#a11583004dca0a66102488f0239fde22c">  101</a></span>&#160;   <a class="code" href="classIpopt_1_1SymScaledMatrix.html#a11583004dca0a66102488f0239fde22c">SymScaledMatrix</a>(</div>
<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;      <span class="keyword">const</span> <a class="code" href="classIpopt_1_1SymScaledMatrix.html">SymScaledMatrix</a>&amp;</div>
<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;   );</div>
<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160; </div>
<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="classIpopt_1_1SymScaledMatrix.html#a3dcc062ed8e9bbe15e4e031c02d1be5f">  106</a></span>&#160;   <span class="keywordtype">void</span> <a class="code" href="classIpopt_1_1SymScaledMatrix.html#a3dcc062ed8e9bbe15e4e031c02d1be5f">operator=</a>(</div>
<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;      <span class="keyword">const</span> <a class="code" href="classIpopt_1_1SymScaledMatrix.html">SymScaledMatrix</a>&amp;</div>
<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;   );</div>
<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160; </div>
<div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="classIpopt_1_1SymScaledMatrix.html#ab8c22d96e24d4ff9eb5108702813b6b7">  112</a></span>&#160;   <a class="code" href="classIpopt_1_1SmartPtr.html">SmartPtr&lt;const SymMatrix&gt;</a> <a class="code" href="classIpopt_1_1SymScaledMatrix.html#ab8c22d96e24d4ff9eb5108702813b6b7">matrix_</a>;</div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160; </div>
<div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="classIpopt_1_1SymScaledMatrix.html#af9b0be6eae9ad70481b806c7691c7a29">  115</a></span>&#160;   <a class="code" href="classIpopt_1_1SmartPtr.html">SmartPtr&lt;SymMatrix&gt;</a> <a class="code" href="classIpopt_1_1SymScaledMatrix.html#af9b0be6eae9ad70481b806c7691c7a29">nonconst_matrix_</a>;</div>
<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160; </div>
<div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="classIpopt_1_1SymScaledMatrix.html#a5c74ed3a882efa768b7bd10ef0720271">  118</a></span>&#160;   <a class="code" href="classIpopt_1_1SmartPtr.html">SmartPtr&lt;const SymScaledMatrixSpace&gt;</a> <a class="code" href="classIpopt_1_1SymScaledMatrix.html#a5c74ed3a882efa768b7bd10ef0720271">owner_space_</a>;</div>
<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;};</div>
<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160; </div>
<div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="classIpopt_1_1SymScaledMatrixSpace.html">  123</a></span>&#160;<span class="keyword">class </span><a class="code" href="config__default_8h.html#a58bb5c104ee5ff44b7175fc992d89b0b">IPOPTLIB_EXPORT</a> <a class="code" href="classIpopt_1_1SymScaledMatrixSpace.html">SymScaledMatrixSpace</a>: <span class="keyword">public</span> <a class="code" href="classIpopt_1_1SymMatrixSpace.html">SymMatrixSpace</a></div>
<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;{</div>
<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160; </div>
<div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="classIpopt_1_1SymScaledMatrixSpace.html#a39b58e6884fb82220596d18e460331df">  131</a></span>&#160;   <a class="code" href="classIpopt_1_1SymScaledMatrixSpace.html#a39b58e6884fb82220596d18e460331df">SymScaledMatrixSpace</a>(</div>
<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;      <span class="keyword">const</span> <a class="code" href="classIpopt_1_1SmartPtr.html">SmartPtr&lt;const Vector&gt;</a>&amp;         row_col_scaling,</div>
<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;      <span class="keywordtype">bool</span>                                  row_col_scaling_reciprocal,</div>
<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;      <span class="keyword">const</span> <a class="code" href="classIpopt_1_1SmartPtr.html">SmartPtr&lt;const SymMatrixSpace&gt;</a>&amp; unscaled_matrix_space</div>
<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;   )</div>
<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;      : <a class="code" href="classIpopt_1_1SymMatrixSpace.html">SymMatrixSpace</a>(unscaled_matrix_space-&gt;Dim()),</div>
<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;        scaling_(row_col_scaling-&gt;MakeNewCopy()),</div>
<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;        unscaled_matrix_space_(unscaled_matrix_space)</div>
<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;   {</div>
<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;      <span class="keywordflow">if</span>( row_col_scaling_reciprocal )</div>
<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;      {</div>
<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;         scaling_-&gt;ElementWiseReciprocal();</div>
<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;      }</div>
<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;   }</div>
<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160; </div>
<div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="classIpopt_1_1SymScaledMatrixSpace.html#ac58723388420ee7cc14f5d631310abb3">  147</a></span>&#160;   <a class="code" href="classIpopt_1_1SymScaledMatrixSpace.html#ac58723388420ee7cc14f5d631310abb3">~SymScaledMatrixSpace</a>()</div>
<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;   { }</div>
<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160; </div>
<div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="classIpopt_1_1SymScaledMatrixSpace.html#ade71c12f86e77701da71a0216ba8efe2">  152</a></span>&#160;   <a class="code" href="classIpopt_1_1SymScaledMatrix.html">SymScaledMatrix</a>* <a class="code" href="classIpopt_1_1SymScaledMatrixSpace.html#ade71c12f86e77701da71a0216ba8efe2">MakeNewSymScaledMatrix</a>(</div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;      <span class="keywordtype">bool</span> allocate_unscaled_matrix = <span class="keyword">false</span></div>
<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;   )<span class="keyword"> const</span></div>
<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="keyword">   </span>{</div>
<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;      <a class="code" href="classIpopt_1_1SymScaledMatrix.html">SymScaledMatrix</a>* ret = <span class="keyword">new</span> <a class="code" href="classIpopt_1_1SymScaledMatrix.html">SymScaledMatrix</a>(<span class="keyword">this</span>);</div>
<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;      <span class="keywordflow">if</span>( allocate_unscaled_matrix )</div>
<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;      {</div>
<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;         <a class="code" href="classIpopt_1_1SmartPtr.html">SmartPtr&lt;SymMatrix&gt;</a> unscaled_matrix = unscaled_matrix_space_-&gt;MakeNewSymMatrix();</div>
<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;         ret-&gt;<a class="code" href="classIpopt_1_1SymScaledMatrix.html#a9c03726c56c0813255f69d3a059a6a96">SetUnscaledMatrixNonConst</a>(unscaled_matrix);</div>
<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;      }</div>
<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;      <span class="keywordflow">return</span> ret;</div>
<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;   }</div>
<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160; </div>
<div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="classIpopt_1_1SymScaledMatrixSpace.html#ad5291b86577d54e2cf0791bb78db2161">  165</a></span>&#160;   <span class="keyword">virtual</span> <a class="code" href="classIpopt_1_1SymMatrix.html">SymMatrix</a>* <a class="code" href="classIpopt_1_1SymScaledMatrixSpace.html#ad5291b86577d54e2cf0791bb78db2161">MakeNewSymMatrix</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="keyword">   </span>{</div>
<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;      <span class="keywordflow">return</span> MakeNewSymScaledMatrix();</div>
<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;   }</div>
<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160; </div>
<div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="classIpopt_1_1SymScaledMatrixSpace.html#a46bd6b02104f2cceabde317180b12387">  170</a></span>&#160;   <span class="keyword">virtual</span> <a class="code" href="classIpopt_1_1Matrix.html">Matrix</a>* <a class="code" href="classIpopt_1_1SymScaledMatrixSpace.html#a46bd6b02104f2cceabde317180b12387">MakeNew</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">   </span>{</div>
<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;      <span class="keywordflow">return</span> MakeNewSymScaledMatrix();</div>
<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;   }</div>
<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160; </div>
<div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="classIpopt_1_1SymScaledMatrixSpace.html#ad533ada3e2bc443e0d221a8f06fea0de">  176</a></span>&#160;   <a class="code" href="classIpopt_1_1SmartPtr.html">SmartPtr&lt;const Vector&gt;</a> <a class="code" href="classIpopt_1_1SymScaledMatrixSpace.html#ad533ada3e2bc443e0d221a8f06fea0de">RowColScaling</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="keyword">   </span>{</div>
<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="namespaceIpopt.html#a3e8cc2c607c17995786c1929bd006be9">ConstPtr</a>(scaling_);</div>
<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;   }</div>
<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160; </div>
<div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="classIpopt_1_1SymScaledMatrixSpace.html#af43c7dbe58fe922b8bda80f6fbcea22e">  182</a></span>&#160;   <a class="code" href="classIpopt_1_1SmartPtr.html">SmartPtr&lt;const SymMatrixSpace&gt;</a> <a class="code" href="classIpopt_1_1SymScaledMatrixSpace.html#af43c7dbe58fe922b8bda80f6fbcea22e">UnscaledMatrixSpace</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;<span class="keyword">   </span>{</div>
<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;      <span class="keywordflow">return</span> unscaled_matrix_space_;</div>
<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;   }</div>
<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160; </div>
<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160; </div>
<div class="line"><a name="l00198"></a><span class="lineno"><a class="line" href="classIpopt_1_1SymScaledMatrixSpace.html#a2f09ba2fcd9b96312c0eeb98125a0b78">  198</a></span>&#160;   <a class="code" href="classIpopt_1_1SymScaledMatrixSpace.html#a2f09ba2fcd9b96312c0eeb98125a0b78">SymScaledMatrixSpace</a>();</div>
<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160; </div>
<div class="line"><a name="l00201"></a><span class="lineno"><a class="line" href="classIpopt_1_1SymScaledMatrixSpace.html#a6fa4944d192a0b3ead9daa866f41d37b">  201</a></span>&#160;   <a class="code" href="classIpopt_1_1SymScaledMatrixSpace.html#a6fa4944d192a0b3ead9daa866f41d37b">SymScaledMatrixSpace</a>(</div>
<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;      <span class="keyword">const</span> <a class="code" href="classIpopt_1_1SymScaledMatrixSpace.html">SymScaledMatrixSpace</a>&amp;</div>
<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;   );</div>
<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160; </div>
<div class="line"><a name="l00206"></a><span class="lineno"><a class="line" href="classIpopt_1_1SymScaledMatrixSpace.html#a7a300a7acf1534137b18bc65cf58347d">  206</a></span>&#160;   <a class="code" href="classIpopt_1_1SymScaledMatrixSpace.html">SymScaledMatrixSpace</a>&amp; <a class="code" href="classIpopt_1_1SymScaledMatrixSpace.html#a7a300a7acf1534137b18bc65cf58347d">operator=</a>(</div>
<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;      <span class="keyword">const</span> <a class="code" href="classIpopt_1_1SymScaledMatrixSpace.html">SymScaledMatrixSpace</a>&amp;</div>
<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;   );</div>
<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160; </div>
<div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="classIpopt_1_1SymScaledMatrixSpace.html#a4e6e509883192765aba0090d61aebdcc">  212</a></span>&#160;   <a class="code" href="classIpopt_1_1SmartPtr.html">SmartPtr&lt;Vector&gt;</a> <a class="code" href="classIpopt_1_1SymScaledMatrixSpace.html#a4e6e509883192765aba0090d61aebdcc">scaling_</a>;</div>
<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160; </div>
<div class="line"><a name="l00215"></a><span class="lineno"><a class="line" href="classIpopt_1_1SymScaledMatrixSpace.html#a4a9b8c8e79d247b319657affb4cb68c4">  215</a></span>&#160;   <a class="code" href="classIpopt_1_1SmartPtr.html">SmartPtr&lt;const SymMatrixSpace&gt;</a> <a class="code" href="classIpopt_1_1SymScaledMatrixSpace.html#a4a9b8c8e79d247b319657affb4cb68c4">unscaled_matrix_space_</a>;</div>
<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;};</div>
<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160; </div>
<div class="line"><a name="l00218"></a><span class="lineno"><a class="line" href="classIpopt_1_1SymScaledMatrix.html#a4ec7070263e60c118be3b40d107a8513">  218</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classIpopt_1_1SymScaledMatrix.html#a4ec7070263e60c118be3b40d107a8513">SymScaledMatrix::SetUnscaledMatrix</a>(</div>
<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;   <span class="keyword">const</span> <a class="code" href="classIpopt_1_1SmartPtr.html">SmartPtr&lt;const SymMatrix&gt;</a> unscaled_matrix</div>
<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;)</div>
<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;{</div>
<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;   <a class="code" href="classIpopt_1_1SymScaledMatrix.html#ab8c22d96e24d4ff9eb5108702813b6b7">matrix_</a> = unscaled_matrix;</div>
<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;   <a class="code" href="classIpopt_1_1SymScaledMatrix.html#af9b0be6eae9ad70481b806c7691c7a29">nonconst_matrix_</a> = NULL;</div>
<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;   <a class="code" href="classIpopt_1_1TaggedObject.html#a427557597cbad74331b748d2a1c72623">ObjectChanged</a>();</div>
<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;}</div>
<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160; </div>
<div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="classIpopt_1_1SymScaledMatrix.html#a9c03726c56c0813255f69d3a059a6a96">  227</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classIpopt_1_1SymScaledMatrix.html#a9c03726c56c0813255f69d3a059a6a96">SymScaledMatrix::SetUnscaledMatrixNonConst</a>(</div>
<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;   <span class="keyword">const</span> <a class="code" href="classIpopt_1_1SmartPtr.html">SmartPtr&lt;SymMatrix&gt;</a>&amp; unscaled_matrix</div>
<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;)</div>
<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;{</div>
<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;   <a class="code" href="classIpopt_1_1SymScaledMatrix.html#af9b0be6eae9ad70481b806c7691c7a29">nonconst_matrix_</a> = unscaled_matrix;</div>
<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;   <a class="code" href="classIpopt_1_1SymScaledMatrix.html#ab8c22d96e24d4ff9eb5108702813b6b7">matrix_</a> = <a class="code" href="namespaceIpopt.html#a4ae001947e506b5b8f4f134b8a4ead23">GetRawPtr</a>(unscaled_matrix);</div>
<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;   <a class="code" href="classIpopt_1_1TaggedObject.html#a427557597cbad74331b748d2a1c72623">ObjectChanged</a>();</div>
<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;}</div>
<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160; </div>
<div class="line"><a name="l00236"></a><span class="lineno"><a class="line" href="classIpopt_1_1SymScaledMatrix.html#a1db8ff5928dc81d639fd1d9066f002ad">  236</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classIpopt_1_1SmartPtr.html">SmartPtr&lt;const SymMatrix&gt;</a> <a class="code" href="classIpopt_1_1SymScaledMatrix.html#a1db8ff5928dc81d639fd1d9066f002ad">SymScaledMatrix::GetUnscaledMatrix</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;   <span class="keywordflow">return</span> <a class="code" href="classIpopt_1_1SymScaledMatrix.html#ab8c22d96e24d4ff9eb5108702813b6b7">matrix_</a>;</div>
<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;}</div>
<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160; </div>
<div class="line"><a name="l00241"></a><span class="lineno"><a class="line" href="classIpopt_1_1SymScaledMatrix.html#abd42b2cc366977e94bf60ff24cc221a3">  241</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classIpopt_1_1SmartPtr.html">SmartPtr&lt;SymMatrix&gt;</a> <a class="code" href="classIpopt_1_1SymScaledMatrix.html#abd42b2cc366977e94bf60ff24cc221a3">SymScaledMatrix::GetUnscaledMatrixNonConst</a>()</div>
<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;{</div>
<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;   <a class="code" href="IpDebug_8hpp.html#a346733cd6806024295f8c3564071d021">DBG_ASSERT</a>(<a class="code" href="namespaceIpopt.html#a412b04fd3180a55969ff76224d5bfec6">IsValid</a>(<a class="code" href="classIpopt_1_1SymScaledMatrix.html#af9b0be6eae9ad70481b806c7691c7a29">nonconst_matrix_</a>));</div>
<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;   <a class="code" href="classIpopt_1_1TaggedObject.html#a427557597cbad74331b748d2a1c72623">ObjectChanged</a>();</div>
<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;   <span class="keywordflow">return</span> <a class="code" href="classIpopt_1_1SymScaledMatrix.html#af9b0be6eae9ad70481b806c7691c7a29">nonconst_matrix_</a>;</div>
<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;}</div>
<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160; </div>
<div class="line"><a name="l00248"></a><span class="lineno"><a class="line" href="classIpopt_1_1SymScaledMatrix.html#a02e5ed72d6f99d5add1116f46a02641a">  248</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classIpopt_1_1SmartPtr.html">SmartPtr&lt;const Vector&gt;</a> <a class="code" href="classIpopt_1_1SymScaledMatrix.html#a02e5ed72d6f99d5add1116f46a02641a">SymScaledMatrix::RowColScaling</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;   <span class="keywordflow">return</span> <a class="code" href="namespaceIpopt.html#a3e8cc2c607c17995786c1929bd006be9">ConstPtr</a>(<a class="code" href="classIpopt_1_1SymScaledMatrix.html#a5c74ed3a882efa768b7bd10ef0720271">owner_space_</a>-&gt;RowColScaling());</div>
<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;}</div>
<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160; </div>
<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;} <span class="comment">// namespace Ipopt</span></div>
<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160; </div>
<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;<span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclassIpopt_1_1SymScaledMatrix_html"><div class="ttname"><a href="classIpopt_1_1SymScaledMatrix.html">Ipopt::SymScaledMatrix</a></div><div class="ttdoc">Class for a Matrix in conjunction with its scaling factors for row and column scaling.</div><div class="ttdef"><b>Definition:</b> <a href="IpSymScaledMatrix_8hpp_source.html#l00026">IpSymScaledMatrix.hpp:27</a></div></div>
<div class="ttc" id="aIpUtils_8hpp_html"><div class="ttname"><a href="IpUtils_8hpp.html">IpUtils.hpp</a></div></div>
<div class="ttc" id="aclassIpopt_1_1SymScaledMatrixSpace_html_ad5291b86577d54e2cf0791bb78db2161"><div class="ttname"><a href="classIpopt_1_1SymScaledMatrixSpace.html#ad5291b86577d54e2cf0791bb78db2161">Ipopt::SymScaledMatrixSpace::MakeNewSymMatrix</a></div><div class="ttdeci">virtual SymMatrix * MakeNewSymMatrix() const</div><div class="ttdoc">Pure virtual method for creating a new matrix of this specific type.</div><div class="ttdef"><b>Definition:</b> <a href="IpSymScaledMatrix_8hpp_source.html#l00165">IpSymScaledMatrix.hpp:165</a></div></div>
<div class="ttc" id="aclassIpopt_1_1SymScaledMatrix_html_a8f4a80c0f58878fd39ede1640e2e7e01"><div class="ttname"><a href="classIpopt_1_1SymScaledMatrix.html#a8f4a80c0f58878fd39ede1640e2e7e01">Ipopt::SymScaledMatrix::PrintImpl</a></div><div class="ttdeci">virtual void PrintImpl(const Journalist &amp;jnlst, EJournalLevel level, EJournalCategory category, const std::string &amp;name, Index indent, const std::string &amp;prefix) const</div><div class="ttdoc">Print detailed information about the matrix.</div></div>
<div class="ttc" id="aclassIpopt_1_1SymScaledMatrix_html_aec3aaa5cebe937572a31cfab8a386c71"><div class="ttname"><a href="classIpopt_1_1SymScaledMatrix.html#aec3aaa5cebe937572a31cfab8a386c71">Ipopt::SymScaledMatrix::HasValidNumbersImpl</a></div><div class="ttdeci">virtual bool HasValidNumbersImpl() const</div><div class="ttdoc">Method for determining if all stored numbers are valid (i.e., no Inf or Nan).</div></div>
<div class="ttc" id="aclassIpopt_1_1SymScaledMatrixSpace_html_ac58723388420ee7cc14f5d631310abb3"><div class="ttname"><a href="classIpopt_1_1SymScaledMatrixSpace.html#ac58723388420ee7cc14f5d631310abb3">Ipopt::SymScaledMatrixSpace::~SymScaledMatrixSpace</a></div><div class="ttdeci">~SymScaledMatrixSpace()</div><div class="ttdoc">Destructor.</div><div class="ttdef"><b>Definition:</b> <a href="IpSymScaledMatrix_8hpp_source.html#l00147">IpSymScaledMatrix.hpp:147</a></div></div>
<div class="ttc" id="aclassIpopt_1_1SymScaledMatrix_html_a5f287285ded48df69e395da6ddd56d4c"><div class="ttname"><a href="classIpopt_1_1SymScaledMatrix.html#a5f287285ded48df69e395da6ddd56d4c">Ipopt::SymScaledMatrix::SymScaledMatrix</a></div><div class="ttdeci">SymScaledMatrix()</div><div class="ttdoc">Default Constructor.</div></div>
<div class="ttc" id="aclassIpopt_1_1SymScaledMatrix_html_a5c74ed3a882efa768b7bd10ef0720271"><div class="ttname"><a href="classIpopt_1_1SymScaledMatrix.html#a5c74ed3a882efa768b7bd10ef0720271">Ipopt::SymScaledMatrix::owner_space_</a></div><div class="ttdeci">SmartPtr&lt; const SymScaledMatrixSpace &gt; owner_space_</div><div class="ttdoc">Matrix space stored as a SymScaledMatrixSpace.</div><div class="ttdef"><b>Definition:</b> <a href="IpSymScaledMatrix_8hpp_source.html#l00118">IpSymScaledMatrix.hpp:118</a></div></div>
<div class="ttc" id="aclassIpopt_1_1SymScaledMatrixSpace_html_a4a9b8c8e79d247b319657affb4cb68c4"><div class="ttname"><a href="classIpopt_1_1SymScaledMatrixSpace.html#a4a9b8c8e79d247b319657affb4cb68c4">Ipopt::SymScaledMatrixSpace::unscaled_matrix_space_</a></div><div class="ttdeci">SmartPtr&lt; const SymMatrixSpace &gt; unscaled_matrix_space_</div><div class="ttdoc">unscaled matrix space</div><div class="ttdef"><b>Definition:</b> <a href="IpSymScaledMatrix_8hpp_source.html#l00215">IpSymScaledMatrix.hpp:215</a></div></div>
<div class="ttc" id="aclassIpopt_1_1SymScaledMatrix_html_a11583004dca0a66102488f0239fde22c"><div class="ttname"><a href="classIpopt_1_1SymScaledMatrix.html#a11583004dca0a66102488f0239fde22c">Ipopt::SymScaledMatrix::SymScaledMatrix</a></div><div class="ttdeci">SymScaledMatrix(const SymScaledMatrix &amp;)</div><div class="ttdoc">Copy Constructor.</div></div>
<div class="ttc" id="aclassIpopt_1_1SymScaledMatrix_html_abd42b2cc366977e94bf60ff24cc221a3"><div class="ttname"><a href="classIpopt_1_1SymScaledMatrix.html#abd42b2cc366977e94bf60ff24cc221a3">Ipopt::SymScaledMatrix::GetUnscaledMatrixNonConst</a></div><div class="ttdeci">SmartPtr&lt; SymMatrix &gt; GetUnscaledMatrixNonConst()</div><div class="ttdoc">Return the unscaled matrix in non-const form.</div><div class="ttdef"><b>Definition:</b> <a href="IpSymScaledMatrix_8hpp_source.html#l00241">IpSymScaledMatrix.hpp:241</a></div></div>
<div class="ttc" id="anamespaceIpopt_html"><div class="ttname"><a href="namespaceIpopt.html">Ipopt</a></div><div class="ttdoc">This file contains a base class for all exceptions and a set of macros to help with exceptions.</div><div class="ttdef"><b>Definition:</b> <a href="IpInexactAlgBuilder_8hpp_source.html#l00013">IpInexactAlgBuilder.hpp:14</a></div></div>
<div class="ttc" id="aclassIpopt_1_1Matrix_html"><div class="ttname"><a href="classIpopt_1_1Matrix.html">Ipopt::Matrix</a></div><div class="ttdoc">Matrix Base Class.</div><div class="ttdef"><b>Definition:</b> <a href="IpMatrix_8hpp_source.html#l00027">IpMatrix.hpp:28</a></div></div>
<div class="ttc" id="aclassIpopt_1_1SymScaledMatrix_html_a1db8ff5928dc81d639fd1d9066f002ad"><div class="ttname"><a href="classIpopt_1_1SymScaledMatrix.html#a1db8ff5928dc81d639fd1d9066f002ad">Ipopt::SymScaledMatrix::GetUnscaledMatrix</a></div><div class="ttdeci">SmartPtr&lt; const SymMatrix &gt; GetUnscaledMatrix() const</div><div class="ttdoc">Return the unscaled matrix in const form.</div><div class="ttdef"><b>Definition:</b> <a href="IpSymScaledMatrix_8hpp_source.html#l00236">IpSymScaledMatrix.hpp:236</a></div></div>
<div class="ttc" id="aclassIpopt_1_1TaggedObject_html_a427557597cbad74331b748d2a1c72623"><div class="ttname"><a href="classIpopt_1_1TaggedObject.html#a427557597cbad74331b748d2a1c72623">Ipopt::TaggedObject::ObjectChanged</a></div><div class="ttdeci">void ObjectChanged()</div><div class="ttdoc">Objects derived from TaggedObject MUST call this method every time their internal state changes to up...</div></div>
<div class="ttc" id="anamespaceIpopt_html_a9a3bf04074c3113604067ee277e690ea"><div class="ttname"><a href="namespaceIpopt.html#a9a3bf04074c3113604067ee277e690ea">Ipopt::EJournalLevel</a></div><div class="ttdeci">EJournalLevel</div><div class="ttdoc">Print Level Enum.</div><div class="ttdef"><b>Definition:</b> <a href="IpJournalist_8hpp_source.html#l00031">IpJournalist.hpp:32</a></div></div>
<div class="ttc" id="aclassIpopt_1_1SymScaledMatrix_html_ae43b6450689e70778ae1fdf6597da9b8"><div class="ttname"><a href="classIpopt_1_1SymScaledMatrix.html#ae43b6450689e70778ae1fdf6597da9b8">Ipopt::SymScaledMatrix::~SymScaledMatrix</a></div><div class="ttdeci">~SymScaledMatrix()</div><div class="ttdoc">Destructor.</div></div>
<div class="ttc" id="aclassIpopt_1_1SymScaledMatrixSpace_html_a2f09ba2fcd9b96312c0eeb98125a0b78"><div class="ttname"><a href="classIpopt_1_1SymScaledMatrixSpace.html#a2f09ba2fcd9b96312c0eeb98125a0b78">Ipopt::SymScaledMatrixSpace::SymScaledMatrixSpace</a></div><div class="ttdeci">SymScaledMatrixSpace()</div><div class="ttdoc">Default constructor.</div></div>
<div class="ttc" id="aclassIpopt_1_1SymScaledMatrix_html_a3dcc062ed8e9bbe15e4e031c02d1be5f"><div class="ttname"><a href="classIpopt_1_1SymScaledMatrix.html#a3dcc062ed8e9bbe15e4e031c02d1be5f">Ipopt::SymScaledMatrix::operator=</a></div><div class="ttdeci">void operator=(const SymScaledMatrix &amp;)</div><div class="ttdoc">Default Assignment Operator.</div></div>
<div class="ttc" id="aconfig__default_8h_html_a58bb5c104ee5ff44b7175fc992d89b0b"><div class="ttname"><a href="config__default_8h.html#a58bb5c104ee5ff44b7175fc992d89b0b">IPOPTLIB_EXPORT</a></div><div class="ttdeci">#define IPOPTLIB_EXPORT</div><div class="ttdef"><b>Definition:</b> <a href="config__default_8h_source.html#l00011">config_default.h:10</a></div></div>
<div class="ttc" id="aclassIpopt_1_1SymScaledMatrix_html_a762d28e3cb0eabe80ccd8e3c1a90825b"><div class="ttname"><a href="classIpopt_1_1SymScaledMatrix.html#a762d28e3cb0eabe80ccd8e3c1a90825b">Ipopt::SymScaledMatrix::ComputeRowAMaxImpl</a></div><div class="ttdeci">virtual void ComputeRowAMaxImpl(Vector &amp;rows_norms, bool init) const</div><div class="ttdoc">Compute the max-norm of the rows in the matrix.</div></div>
<div class="ttc" id="aclassIpopt_1_1SymScaledMatrix_html_a4ec7070263e60c118be3b40d107a8513"><div class="ttname"><a href="classIpopt_1_1SymScaledMatrix.html#a4ec7070263e60c118be3b40d107a8513">Ipopt::SymScaledMatrix::SetUnscaledMatrix</a></div><div class="ttdeci">void SetUnscaledMatrix(const SmartPtr&lt; const SymMatrix &gt; unscaled_matrix)</div><div class="ttdoc">Set the unscaled matrix.</div><div class="ttdef"><b>Definition:</b> <a href="IpSymScaledMatrix_8hpp_source.html#l00218">IpSymScaledMatrix.hpp:218</a></div></div>
<div class="ttc" id="anamespaceIpopt_html_a4ae001947e506b5b8f4f134b8a4ead23"><div class="ttname"><a href="namespaceIpopt.html#a4ae001947e506b5b8f4f134b8a4ead23">Ipopt::GetRawPtr</a></div><div class="ttdeci">U * GetRawPtr(const SmartPtr&lt; U &gt; &amp;smart_ptr)</div><div class="ttdef"><b>Definition:</b> <a href="IpSmartPtr_8hpp_source.html#l00649">IpSmartPtr.hpp:649</a></div></div>
<div class="ttc" id="aclassIpopt_1_1SymScaledMatrix_html_a9c03726c56c0813255f69d3a059a6a96"><div class="ttname"><a href="classIpopt_1_1SymScaledMatrix.html#a9c03726c56c0813255f69d3a059a6a96">Ipopt::SymScaledMatrix::SetUnscaledMatrixNonConst</a></div><div class="ttdeci">void SetUnscaledMatrixNonConst(const SmartPtr&lt; SymMatrix &gt; &amp;unscaled_matrix)</div><div class="ttdoc">Set the unscaled matrix in a non-const version.</div><div class="ttdef"><b>Definition:</b> <a href="IpSymScaledMatrix_8hpp_source.html#l00227">IpSymScaledMatrix.hpp:227</a></div></div>
<div class="ttc" id="aclassIpopt_1_1SymScaledMatrix_html_ab8c22d96e24d4ff9eb5108702813b6b7"><div class="ttname"><a href="classIpopt_1_1SymScaledMatrix.html#ab8c22d96e24d4ff9eb5108702813b6b7">Ipopt::SymScaledMatrix::matrix_</a></div><div class="ttdeci">SmartPtr&lt; const SymMatrix &gt; matrix_</div><div class="ttdoc">const version of the unscaled matrix</div><div class="ttdef"><b>Definition:</b> <a href="IpSymScaledMatrix_8hpp_source.html#l00112">IpSymScaledMatrix.hpp:112</a></div></div>
<div class="ttc" id="aclassIpopt_1_1SmartPtr_html"><div class="ttname"><a href="classIpopt_1_1SmartPtr.html">Ipopt::SmartPtr</a></div><div class="ttdoc">Template class for Smart Pointers.</div><div class="ttdef"><b>Definition:</b> <a href="IpSmartPtr_8hpp_source.html#l00164">IpSmartPtr.hpp:165</a></div></div>
<div class="ttc" id="aclassIpopt_1_1SymScaledMatrix_html_aa3c9d004357802c8e693495b6b9c13b4"><div class="ttname"><a href="classIpopt_1_1SymScaledMatrix.html#aa3c9d004357802c8e693495b6b9c13b4">Ipopt::SymScaledMatrix::SymScaledMatrix</a></div><div class="ttdeci">SymScaledMatrix(const SymScaledMatrixSpace *owner_space)</div><div class="ttdoc">Constructor, taking the owner_space.</div></div>
<div class="ttc" id="anamespaceIpopt_html_a6cd36af5585112f521733f3e63fd8cb0"><div class="ttname"><a href="namespaceIpopt.html#a6cd36af5585112f521733f3e63fd8cb0">Ipopt::EJournalCategory</a></div><div class="ttdeci">EJournalCategory</div><div class="ttdoc">Category Selection Enum.</div><div class="ttdef"><b>Definition:</b> <a href="IpJournalist_8hpp_source.html#l00051">IpJournalist.hpp:52</a></div></div>
<div class="ttc" id="aclassIpopt_1_1SymScaledMatrix_html_a02e5ed72d6f99d5add1116f46a02641a"><div class="ttname"><a href="classIpopt_1_1SymScaledMatrix.html#a02e5ed72d6f99d5add1116f46a02641a">Ipopt::SymScaledMatrix::RowColScaling</a></div><div class="ttdeci">SmartPtr&lt; const Vector &gt; RowColScaling() const</div><div class="ttdoc">return the vector for the row and column scaling</div><div class="ttdef"><b>Definition:</b> <a href="IpSymScaledMatrix_8hpp_source.html#l00248">IpSymScaledMatrix.hpp:248</a></div></div>
<div class="ttc" id="aclassIpopt_1_1SymScaledMatrixSpace_html_af43c7dbe58fe922b8bda80f6fbcea22e"><div class="ttname"><a href="classIpopt_1_1SymScaledMatrixSpace.html#af43c7dbe58fe922b8bda80f6fbcea22e">Ipopt::SymScaledMatrixSpace::UnscaledMatrixSpace</a></div><div class="ttdeci">SmartPtr&lt; const SymMatrixSpace &gt; UnscaledMatrixSpace() const</div><div class="ttdoc">return the matrix space for the unscaled matrix</div><div class="ttdef"><b>Definition:</b> <a href="IpSymScaledMatrix_8hpp_source.html#l00182">IpSymScaledMatrix.hpp:182</a></div></div>
<div class="ttc" id="aclassIpopt_1_1SymScaledMatrixSpace_html_a4e6e509883192765aba0090d61aebdcc"><div class="ttname"><a href="classIpopt_1_1SymScaledMatrixSpace.html#a4e6e509883192765aba0090d61aebdcc">Ipopt::SymScaledMatrixSpace::scaling_</a></div><div class="ttdeci">SmartPtr&lt; Vector &gt; scaling_</div><div class="ttdoc">Row scaling vector.</div><div class="ttdef"><b>Definition:</b> <a href="IpSymScaledMatrix_8hpp_source.html#l00212">IpSymScaledMatrix.hpp:212</a></div></div>
<div class="ttc" id="anamespaceIpopt_html_a5a4a27f325033a0e5d85a4ebc4038b57"><div class="ttname"><a href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Ipopt::Index</a></div><div class="ttdeci">ipindex Index</div><div class="ttdoc">Type of all indices of vectors, matrices etc.</div><div class="ttdef"><b>Definition:</b> <a href="IpTypes_8hpp_source.html#l00020">IpTypes.hpp:20</a></div></div>
<div class="ttc" id="aclassIpopt_1_1SymScaledMatrixSpace_html_ad533ada3e2bc443e0d221a8f06fea0de"><div class="ttname"><a href="classIpopt_1_1SymScaledMatrixSpace.html#ad533ada3e2bc443e0d221a8f06fea0de">Ipopt::SymScaledMatrixSpace::RowColScaling</a></div><div class="ttdeci">SmartPtr&lt; const Vector &gt; RowColScaling() const</div><div class="ttdoc">return the vector for the row and column scaling</div><div class="ttdef"><b>Definition:</b> <a href="IpSymScaledMatrix_8hpp_source.html#l00176">IpSymScaledMatrix.hpp:176</a></div></div>
<div class="ttc" id="anamespaceIpopt_html_ab75ce5f2ad60aa86e4dff723998e653f"><div class="ttname"><a href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Ipopt::Number</a></div><div class="ttdeci">ipnumber Number</div><div class="ttdoc">Type of all numbers.</div><div class="ttdef"><b>Definition:</b> <a href="IpTypes_8hpp_source.html#l00017">IpTypes.hpp:17</a></div></div>
<div class="ttc" id="aIpSymMatrix_8hpp_html"><div class="ttname"><a href="IpSymMatrix_8hpp.html">IpSymMatrix.hpp</a></div></div>
<div class="ttc" id="anamespaceIpopt_html_a3e8cc2c607c17995786c1929bd006be9"><div class="ttname"><a href="namespaceIpopt.html#a3e8cc2c607c17995786c1929bd006be9">Ipopt::ConstPtr</a></div><div class="ttdeci">SmartPtr&lt; const U &gt; ConstPtr(const SmartPtr&lt; U &gt; &amp;smart_ptr)</div><div class="ttdef"><b>Definition:</b> <a href="IpSmartPtr_8hpp_source.html#l00663">IpSmartPtr.hpp:663</a></div></div>
<div class="ttc" id="aclassIpopt_1_1Journalist_html"><div class="ttname"><a href="classIpopt_1_1Journalist.html">Ipopt::Journalist</a></div><div class="ttdoc">Class responsible for all message output.</div><div class="ttdef"><b>Definition:</b> <a href="IpJournalist_8hpp_source.html#l00116">IpJournalist.hpp:117</a></div></div>
<div class="ttc" id="aclassIpopt_1_1SymScaledMatrixSpace_html_a6fa4944d192a0b3ead9daa866f41d37b"><div class="ttname"><a href="classIpopt_1_1SymScaledMatrixSpace.html#a6fa4944d192a0b3ead9daa866f41d37b">Ipopt::SymScaledMatrixSpace::SymScaledMatrixSpace</a></div><div class="ttdeci">SymScaledMatrixSpace(const SymScaledMatrixSpace &amp;)</div><div class="ttdoc">Copy Constructor.</div></div>
<div class="ttc" id="aclassIpopt_1_1SymScaledMatrixSpace_html_a46bd6b02104f2cceabde317180b12387"><div class="ttname"><a href="classIpopt_1_1SymScaledMatrixSpace.html#a46bd6b02104f2cceabde317180b12387">Ipopt::SymScaledMatrixSpace::MakeNew</a></div><div class="ttdeci">virtual Matrix * MakeNew() const</div><div class="ttdoc">Pure virtual method for creating a new Matrix of the corresponding type.</div><div class="ttdef"><b>Definition:</b> <a href="IpSymScaledMatrix_8hpp_source.html#l00170">IpSymScaledMatrix.hpp:170</a></div></div>
<div class="ttc" id="aclassIpopt_1_1SymMatrix_html"><div class="ttname"><a href="classIpopt_1_1SymMatrix.html">Ipopt::SymMatrix</a></div><div class="ttdoc">This is the base class for all derived symmetric matrix types.</div><div class="ttdef"><b>Definition:</b> <a href="IpSymMatrix_8hpp_source.html#l00020">IpSymMatrix.hpp:21</a></div></div>
<div class="ttc" id="aclassIpopt_1_1SymScaledMatrixSpace_html_a39b58e6884fb82220596d18e460331df"><div class="ttname"><a href="classIpopt_1_1SymScaledMatrixSpace.html#a39b58e6884fb82220596d18e460331df">Ipopt::SymScaledMatrixSpace::SymScaledMatrixSpace</a></div><div class="ttdeci">SymScaledMatrixSpace(const SmartPtr&lt; const Vector &gt; &amp;row_col_scaling, bool row_col_scaling_reciprocal, const SmartPtr&lt; const SymMatrixSpace &gt; &amp;unscaled_matrix_space)</div><div class="ttdoc">Constructor, given the number of row and columns blocks, as well as the total number of rows and colu...</div><div class="ttdef"><b>Definition:</b> <a href="IpSymScaledMatrix_8hpp_source.html#l00131">IpSymScaledMatrix.hpp:131</a></div></div>
<div class="ttc" id="aclassIpopt_1_1SymMatrixSpace_html"><div class="ttname"><a href="classIpopt_1_1SymMatrixSpace.html">Ipopt::SymMatrixSpace</a></div><div class="ttdoc">SymMatrixSpace base class, corresponding to the SymMatrix base class.</div><div class="ttdef"><b>Definition:</b> <a href="IpSymMatrix_8hpp_source.html#l00085">IpSymMatrix.hpp:86</a></div></div>
<div class="ttc" id="anamespaceIpopt_html_a412b04fd3180a55969ff76224d5bfec6"><div class="ttname"><a href="namespaceIpopt.html#a412b04fd3180a55969ff76224d5bfec6">Ipopt::IsValid</a></div><div class="ttdeci">bool IsValid(const SmartPtr&lt; U &gt; &amp;smart_ptr)</div><div class="ttdef"><b>Definition:</b> <a href="IpSmartPtr_8hpp_source.html#l00672">IpSmartPtr.hpp:672</a></div></div>
<div class="ttc" id="aclassIpopt_1_1SymScaledMatrixSpace_html_ade71c12f86e77701da71a0216ba8efe2"><div class="ttname"><a href="classIpopt_1_1SymScaledMatrixSpace.html#ade71c12f86e77701da71a0216ba8efe2">Ipopt::SymScaledMatrixSpace::MakeNewSymScaledMatrix</a></div><div class="ttdeci">SymScaledMatrix * MakeNewSymScaledMatrix(bool allocate_unscaled_matrix=false) const</div><div class="ttdoc">Method for creating a new matrix of this specific type.</div><div class="ttdef"><b>Definition:</b> <a href="IpSymScaledMatrix_8hpp_source.html#l00152">IpSymScaledMatrix.hpp:152</a></div></div>
<div class="ttc" id="aIpDebug_8hpp_html_a346733cd6806024295f8c3564071d021"><div class="ttname"><a href="IpDebug_8hpp.html#a346733cd6806024295f8c3564071d021">DBG_ASSERT</a></div><div class="ttdeci">#define DBG_ASSERT(test)</div><div class="ttdef"><b>Definition:</b> <a href="IpDebug_8hpp_source.html#l00028">IpDebug.hpp:27</a></div></div>
<div class="ttc" id="aclassIpopt_1_1SymScaledMatrix_html_af9b0be6eae9ad70481b806c7691c7a29"><div class="ttname"><a href="classIpopt_1_1SymScaledMatrix.html#af9b0be6eae9ad70481b806c7691c7a29">Ipopt::SymScaledMatrix::nonconst_matrix_</a></div><div class="ttdeci">SmartPtr&lt; SymMatrix &gt; nonconst_matrix_</div><div class="ttdoc">non-const version of the unscaled matrix</div><div class="ttdef"><b>Definition:</b> <a href="IpSymScaledMatrix_8hpp_source.html#l00115">IpSymScaledMatrix.hpp:115</a></div></div>
<div class="ttc" id="aclassIpopt_1_1SymScaledMatrixSpace_html_a7a300a7acf1534137b18bc65cf58347d"><div class="ttname"><a href="classIpopt_1_1SymScaledMatrixSpace.html#a7a300a7acf1534137b18bc65cf58347d">Ipopt::SymScaledMatrixSpace::operator=</a></div><div class="ttdeci">SymScaledMatrixSpace &amp; operator=(const SymScaledMatrixSpace &amp;)</div><div class="ttdoc">Default Assignment Operator.</div></div>
<div class="ttc" id="aclassIpopt_1_1SymScaledMatrixSpace_html"><div class="ttname"><a href="classIpopt_1_1SymScaledMatrixSpace.html">Ipopt::SymScaledMatrixSpace</a></div><div class="ttdoc">This is the matrix space for SymScaledMatrix.</div><div class="ttdef"><b>Definition:</b> <a href="IpSymScaledMatrix_8hpp_source.html#l00123">IpSymScaledMatrix.hpp:124</a></div></div>
<div class="ttc" id="aclassIpopt_1_1Vector_html"><div class="ttname"><a href="classIpopt_1_1Vector.html">Ipopt::Vector</a></div><div class="ttdoc">Vector Base Class.</div><div class="ttdef"><b>Definition:</b> <a href="IpVector_8hpp_source.html#l00047">IpVector.hpp:48</a></div></div>
</body>
</html>
